package doc;

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.DateFormat;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 商品搜索文档 - ES
 *
 * @author 延晓磊
 * @since 2021年01月19日
 */
@Data
@Document(indexName="mall_item")
public class MallItemSearchDoc {

    // 商品ID
    @Id
    private Long id;
    // 店铺ID
    private Long shopId;
    // 分类
    private String catId;
    // 分类名称：1级 2级 3级
    private String catName;
    // 商品名称
    private String title;
    // 图片主图
    private String imgUrl;
    // 品牌ID
    private Long brandId;
    // 品牌名称
    private String brandName;
    // 价格类型：0固定价格，1可以面议
    private String priceType;
    // 市场价
    private BigDecimal marketPrice;
    // 单价
    private BigDecimal price;
    // 库存单位
    private String unit;
    // 起售数量
    private Integer minNum;
    // 发货地
    private String areaId;
    // 发货地址：省 市 县
    private String areaName;
    // 发货地址：省
    private String provinceName;
    // 首次上架时间
    @Field(type = FieldType.Date, format = DateFormat.date_hour_minute_second)
    private LocalDateTime putTime;
    // 商品统计-库存数量(定时更新)
    private Long num;
    // 商品统计-销售数量(定时更新)
    private Long sellNum;
    // 发货时间（N天内）
    private Integer freightTime;
    // 商品属性
    private List<String> attrs;
    // 组合搜索内容（title,brand,cat）
    private String content;
    // 组合搜索建议（title,brand,cat）
    private String suggest;

}
